This invention relates to a blade server with a plurality of computers, and more particularly, to a technology of sharing a single I/O device among a plurality of computers.
As people become more conscious of information security and information compliance, information systems of business organizations are demanded to process more processing requests such as virus scan and mail filtering on the server side. Business organizations have dealt with the increased processing requests by introducing a server for each different processing operation. However, an increase in server count increases running cost and cuts into the IT budget of a company to a degree that it poses a problem.
In view of this problem, server integration is attracting attention which reduces the count of servers constituting an information system by consolidating processing operations that have been executed on a plurality of servers in a single high-performance server. Server integration can curtail power consumption and occupied floor space which rise continuously in proportion to the server count, maintenance cost for hardware failure, and the like.
Blade servers in which CPUs are integrated densely are gaining ground as a measure to implement server integration (see, for example, JP 2002-32153 A). A typical blade server is structured such that a single housing houses a plurality of blades in which CPUs (processors), memories, and network interface cards (NICs) are mounted, a network switch, and an I/O drawer with expansion I/O slots. With a blade server, server integration can be implemented effectively for a server that executes processing over a network.
In blade servers, however, expansion I/O slots of an I/O drawer are associated with blades in a fixed manner. A resultant problem is that an I/O slot is reserved even for a blade that uses other I/O cards than NICs infrequently or not at all, which is a waste of space. Another problem is that a blade whose use requires many I/O cards (for example, a hot-standby architecture set up among a plurality of blades) cannot be allocated with more I/O slots than the count of I/O slots within an I/O drawer.
Technologies for sharing a single I/O device among a plurality of hosts have been proposed for blade servers and the like in which the count of I/O slots (or I/O devices) is limited as a technique of enabling a multitude of blades to use the limited I/O slots.
Known such technologies include Single Root IO Virtualization (SR-IOV) and Multi Root IO Virtualization (MR-IOV), which are standardized by the PCI Special Interest Group (PCI-SIG) (see, for example, U.S. Pat. No. 7,058,738 B and PCI-SIG, “Single Root I/O Virtualization and Sharing Specification, Revision 1.0, Section 1: Architectural Overview,” 2007, pp. 15-34).